/*
 * 测试 for...in 循环
 */

let arr = [ '钱学森' , '钱三强' , '程开甲' ];

/*
for( let i = 0 ; i < arr.length ; i++ ) {
    let e = arr[ i ] ; // 通过 [ ] 运算符可以获得 arr 数组中下标为 i 的元素
    console.log( i , e );
}
*/
// 使用 for...in 循环遍历某个数组
for( let index in arr ){
    let element = arr[ index ] ;
    console.log( index , element );
}

console.log( '- - - - - - - - - - - - - - -' );

// 用字面量创建一个实例
let instance = {
    id: 1001 ,
    name: '赖宁' ,
    gender: '男' ,
    introduce: function(){
        console.log( `我是${this.name}` );
    }
}

// 使用 for...in 循环遍历某个实例
for( let propertyName in instance ){
    // 使用 [ ] 运算符可以从实例中获取指定名称的属性值
    let propertyValue = instance[ propertyName ] ; // 切记不要将 propertyName 写成是 'propertyName'
    console.log( propertyName , propertyValue );
}

console.log( '- - - - - - - - - - - - - - -' );

function Loong(name,age) {
    this.name = name ;
    this.age = age ;
}

let g = new Loong( '敖广' , 30 );

for( let property in g ){
    // 使用 [ ] 运算符可以从实例中获取指定名称的属性值
    let value = g[ property ]; // 切记不要将 property 写成是 'property'
    console.log( property , value );
}
